package cn.stylefeng.guns.modular.business.frequency.finance.model.result;

import cn.hutool.db.DaoTemplate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description:
 * @Author jzy
 * @Date 2020/11/11 0011
 **/
@Data
@ApiModel
public class PkgFinanceCollection {

    private String orderId;

    @ApiModelProperty("订单号")
    private String orderSubNo;

    @ApiModelProperty("订单状态")
    private Integer orderStatus;

    private String  siteName;

    @ApiModelProperty("制单人")
    private String createUserName;

    @ApiModelProperty("制单时间")
    private Date createTime;

    @ApiModelProperty("公司名称")
    private String companyName;
    @ApiModelProperty("联系人名称")
    private String linkmanName;
    @ApiModelProperty("联系人电话")
    private String linkmanPhone;

    @ApiModelProperty("客户姓名")
    @Deprecated
    private String customerName;

    @ApiModelProperty("客户电话")
    @Deprecated
    private String customerPhone;

    @ApiModelProperty("收货人")
    private String consigneeName;

    @ApiModelProperty("收货人电话")
    private String consigneePhone;

    private String startCode;

    private String destinationCode;

    private String startCodeName;

    private String destinationCodeName;

    private String carName;

    private String vin;

    @ApiModelProperty("订单备注")
    private String orderRemark;

    @ApiModelProperty("付款方式")
    private String paymentType;

    // 总应收
    @ApiModelProperty("总应收")
    private BigDecimal totalFee;

    // 未收合计
    @ApiModelProperty("未收合计")
    private BigDecimal totalCollectionUn;

    // 已收合计
    @ApiModelProperty("已收合计")
    private BigDecimal totalCollectionHas;

    @ApiModelProperty("现付已收")
    private BigDecimal spotHas;

    @ApiModelProperty("现付未收")
    private BigDecimal spotUn;

    @ApiModelProperty("现付应收")
    private BigDecimal spot;

    @ApiModelProperty("现付结算人")
    private String spotSettlementName;

    @ApiModelProperty("现付结算电话")
    private String spotSettlementPhone;

    @ApiModelProperty("到付已收")
    private BigDecimal deliveryHas;

    @ApiModelProperty("到付未收")
    private BigDecimal deliveryUn;

    @ApiModelProperty("到付应收")
    private BigDecimal delivery;

    @ApiModelProperty("到付结算人")
    private String deliverySettlementName;

    @ApiModelProperty("到付结算电话")
    private String deliverySettlementPhone;

    @ApiModelProperty("欠付已收")
    private BigDecimal backHas;

    @ApiModelProperty("欠付未收")
    private BigDecimal backUn;

    @ApiModelProperty("欠付应收")
    private BigDecimal back;

    @ApiModelProperty("欠付结算人")
    private String backSettlementName;

    @ApiModelProperty("欠付结算电话")
    private String backSettlementPhone;

    @ApiModelProperty("月结已收")
    private BigDecimal slotHas;

    @ApiModelProperty("月结未收")
    private BigDecimal slotUn;

    @ApiModelProperty("月结应收")
    private BigDecimal slot;

    @ApiModelProperty("月结结算人")
    private String slotSettlementName;

    @ApiModelProperty("月结结算电话")
    private String slotSettlementPhone;

    @ApiModelProperty("收款状态")
    private Integer collectionStatus;

    @ApiModelProperty("是否线上支付")
    private Integer hasOnlinePay;

    @ApiModelProperty("是否有转账凭证")
    private Integer hasTransferVoucher;

    /**
     * 到付金额是否代收
     */
    @ApiModelProperty("到付金额是否代收")
    private Integer deliveryHasCollection;

    @ApiModelProperty("到付代收人")
    private String deliveryCollectionUser;

    @ApiModelProperty("渠道")
    private String channel;

    //现付应付
    private BigDecimal spotNeed;
    //欠付应付
    private BigDecimal backNeed;
    //到付应付
    private BigDecimal deliveryNeed;
    //月结应付
    private BigDecimal slotNeed;
}
